package com.kits.store.core

import android.content.Context
import android.os.Environment
import java.io.File

/**
 * 操作机身外部存储
 */
object ExternalStorage {

    /**
     * 在外部存储空间创建标准文件夹, /sdcard/Android/data/<applicationId>/files/
     * 1. 可以创建任意层级的文件。
     * 2. 可以保存非指定格式的文件
     * 3. type 参数也可以传入非标准文件夹名称
     * @param context 应用上下文
     * @param type 文件类型，
     * @see android.os.Environment#STANDARD_DIRECTORIES
     * @param dir 文件夹名称
     * @param file 文件名称
     */
    fun standFile(context: Context,type:String,dir:String,file:String):File?{
        if (!Utils.checkExternalMount()){
            return null
        }
        return Utils.createFile(context.getExternalFilesDir(type)?.absolutePath, dir, file)
    }

    /**
     * 在外部存储空间创建标准文件夹, /sdcard/Android/data/<applicationId>/cache/ 可以创建任意层级的文件。
     * @param context 应用上下文
     * @param dir 文件夹名称
     * @param file 文件名称
     */
    fun cacheFile(context: Context,dir:String,file:String):File?{
        if (!Utils.checkExternalMount()){
            return null
        }
        return Utils.createFile(context.externalCacheDir?.absolutePath, dir, file)
    }



}